Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ObjectPool: add const version for ForEachActiveObject #13167

Merged
merged 1 commit into from
Dec 21, 2021

Conversation

kpschoedel
Copy link
Contributor

Problem

Iterating a const pool can be useful.

Change overview

Add const overloads for ForEachActiveObject and associated internals.

Testing

Make the TestPool utility function GetNumObjectsInUse() take a const pool.

#### Problem

Iterating a `const` pool can be useful.

#### Change overview

Add `const` overloads for `ForEachActiveObject` and associated internals.

#### Testing

Make the `TestPool` utility function `GetNumObjectsInUse()`
take a `const` pool.
@github-actions
Copy link

github-actions bot commented Dec 20, 2021

PR #13167: Size comparison from 660a290 to 88e74b3

Increases (11 builds for esp32, linux, mbed, p6)
platform target config section 660a290 88e74b3 change % change
esp32 all-clusters-app c3devkit (read only) 883138 883196 58 0.0
(read/write) 1312722 1312738 16 0.0
.flash.rodata 176120 176136 16 0.0
.flash.text 883138 883196 58 0.0
m5stack (read only) 943383 943467 84 0.0
(read/write) 441816 441832 16 0.0
.flash.rodata 202928 202944 16 0.0
.flash.text 937999 938083 84 0.0
linux chip-tool-ipv6only arm64 (read only) 7005564 7006220 656 0.0
(read/write) 326241 326305 64 0.0
.data.rel.ro 210144 210200 56 0.0
.got 56696 56704 8 0.0
.text 5928084 5928548 464 0.0
thermostat-no-ble arm64 (read only) 2002916 2003556 640 0.0
(read/write) 144081 144145 64 0.0
.data.rel.ro 72088 72144 56 0.1
.got 3840 3848 8 0.2
.text 1662896 1663344 448 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2339832 2339912 80 0.0
.text 1302408 1302488 80 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2330568 2330648 80 0.0
.text 1293168 1293248 80 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2303664 2303680 16 0.0
.text 1266264 1266280 16 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2053688 2053840 152 0.0
.text 1016288 1016440 152 0.0
p6 all-clusters-app default (read/write) 2391824 2391928 104 0.0
.text 1350088 1350192 104 0.0
light-app default (read/write) 2325104 2325208 104 0.0
.text 1283368 1283472 104 0.0
lock-app default (read/write) 2297312 2297408 96 0.0
.text 1255576 1255672 96 0.0
Full report (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 660a290 88e74b3 change % change
efr32 lighting-app BRD4161A (read only) 830568 830568 0 0.0
(read/write) 127384 127384 0 0.0
.bss 125504 125504 0 0.0
.data 1876 1876 0 0.0
.text 830560 830560 0 0.0
BRD4161A+rpc (read only) 818212 818212 0 0.0
(read/write) 144048 144048 0 0.0
.bss 142072 142072 0 0.0
.data 1976 1976 0 0.0
.text 818204 818204 0 0.0
window-app BRD4161A (read only) 803944 803944 0 0.0
(read/write) 126320 126320 0 0.0
.bss 124488 124488 0 0.0
.data 1832 1832 0 0.0
.text 803936 803936 0 0.0
esp32 all-clusters-app c3devkit (read only) 883138 883196 58 0.0
(read/write) 1312722 1312738 16 0.0
.dram0.bss 69320 69320 0 0.0
.dram0.data 14220 14220 0 0.0
.flash.rodata 176120 176136 16 0.0
.flash.text 883138 883196 58 0.0
.iram0.text 62254 62254 0 0.0
m5stack (read only) 943383 943467 84 0.0
(read/write) 441816 441832 16 0.0
.dram0.bss 73824 73824 0 0.0
.dram0.data 34056 34056 0 0.0
.flash.rodata 202928 202944 16 0.0
.flash.text 937999 938083 84 0.0
.iram0.text 122671 122671 0 0.0
k32w light k32w061+release (read/write) 648764 648764 0 0.0
.bss 76512 76512 0 0.0
.data 1904 1904 0 0.0
.text 564548 564548 0 0.0
lock k32w061+release (read/write) 633472 633472 0 0.0
.bss 76224 76224 0 0.0
.data 1860 1860 0 0.0
.text 549588 549588 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7005564 7006220 656 0.0
(read/write) 326241 326305 64 0.0
.bss 54609 54609 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 210144 210200 56 0.0
.dynamic 560 560 0 0.0
.got 56696 56704 8 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 384228 384228 0 0.0
.text 5928084 5928548 464 0.0
thermostat-no-ble arm64 (read only) 2002916 2003556 640 0.0
(read/write) 144081 144145 64 0.0
.bss 64369 64369 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72088 72144 56 0.1
.dynamic 560 560 0 0.0
.got 3840 3848 8 0.2
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128356 128356 0 0.0
.text 1662896 1663344 448 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2339832 2339912 80 0.0
.bss 188596 188596 0 0.0
.data 5272 5272 0 0.0
.text 1302408 1302488 80 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330568 2330648 80 0.0
.bss 180936 180936 0 0.0
.data 5552 5552 0 0.0
.text 1293168 1293248 80 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303664 2303680 16 0.0
.bss 179984 179984 0 0.0
.data 5544 5544 0 0.0
.text 1266264 1266280 16 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053688 2053840 152 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016288 1016440 152 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 935967 935967 0 0.0
bss 118428 118428 0 0.0
rodata 108124 108124 0 0.0
text 631864 631864 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 922367 922367 0 0.0
bss 115472 115472 0 0.0
rodata 101540 101540 0 0.0
text 627176 627176 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 859730 859730 0 0.0
bss 116712 116712 0 0.0
rodata 103048 103048 0 0.0
text 559308 559308 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 908111 908111 0 0.0
bss 117616 117616 0 0.0
rodata 103428 103428 0 0.0
text 609692 609692 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 832042 832042 0 0.0
bss 115928 115928 0 0.0
rodata 98392 98392 0 0.0
text 537172 537172 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 542351 542351 0 0.0
bss 52588 52588 0 0.0
rodata 50668 50668 0 0.0
text 376892 376892 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 909375 909375 0 0.0
bss 117376 117376 0 0.0
rodata 103644 103644 0 0.0
text 610928 610928 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 906191 906191 0 0.0
bss 117404 117404 0 0.0
rodata 102900 102900 0 0.0
text 608440 608440 0 0.0
shell nrf52840dk_nrf52840 (read/write) 796079 796079 0 0.0
bss 109464 109464 0 0.0
rodata 78096 78096 0 0.0
text 532048 532048 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 708710 708710 0 0.0
bss 107352 107352 0 0.0
rodata 72396 72396 0 0.0
text 449544 449544 0 0.0
p6 all-clusters-app default (read/write) 2391824 2391928 104 0.0
.bss 116804 116804 0 0.0
.data 2552 2552 0 0.0
.text 1350088 1350192 104 0.0
light-app default (read/write) 2325104 2325208 104 0.0
.bss 106184 106184 0 0.0
.data 2384 2384 0 0.0
.text 1283368 1283472 104 0.0
lock-app default (read/write) 2297312 2297408 96 0.0
.bss 105064 105064 0 0.0
.data 2336 2336 0 0.0
.text 1255576 1255672 96 0.0
qpg lighting-app qpg6105+debug (read only) 532248 532248 0 0.0
(read/write) 146936 146936 0 0.0
.bss 86840 86840 0 0.0
.data 1004 1004 0 0.0
.text 526928 526928 0 0.0
lock-app qpg6105+debug (read only) 503912 503912 0 0.0
(read/write) 146940 146940 0 0.0
.bss 85976 85976 0 0.0
.data 952 952 0 0.0
.text 498592 498592 0 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 832258 832258 0 0.0
bss 87088 87088 0 0.0
noinit 37160 37160 0 0.0
text 580366 580366 0 0.0

@kpschoedel kpschoedel merged commit 46d0321 into project-chip:master Dec 21, 2021
@kpschoedel kpschoedel deleted the pool-const-for branch December 21, 2021 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants